import { VantComponent } from "../common/component";
import { useParent } from "../common/relation";
import { link } from "../mixins/link";
VantComponent({
	relation: useParent("grid"),
	classes: ["content-class", "icon-class", "text-class"],
	mixins: [link],
	props: {
		icon: String,
		iconColor: String,
		iconPrefix: {
			type: String,
			value: "van-icon"
		},
		dot: Boolean,
		info: null,
		badge: null,
		text: String,
		useSlot: Boolean
	},
	data: {
		viewStyle: ""
	},
	mounted() {
		this.updateStyle();
	},
	methods: {
		updateStyle() {
			if (!this.parent) {
				return;
			}
			const { data, children } = this.parent;
			const { columnNum, border, square, gutter, clickable, center, direction, reverse, iconSize } = data;
			this.setData({
				center,
				border,
				square,
				gutter,
				clickable,
				direction,
				reverse,
				iconSize,
				index: children.indexOf(this),
				columnNum
			});
		},
		onClick() {
			this.$emit("click");
			this.jumpLink();
		}
	}
});
